An Evaluation Methodology for Parallel/Distributed Software Tools
نویسندگان
چکیده
The recent rapid growth of the network computing applications area has been accelerated by a variety of parallel and distributed computing (PDC) software tools that simplify process management, inter-process communication, and program debugging in a PDC environment. This variety of software tools varies signi cantly in terms of the application domain targeted and corresponding functionality provided, the computational and communication model supported, the underlying implementation philosophy, and the computing environments supported. This makes the selection of the best tool to run a given class of applications on a parallel or distributed system a non-trivial task that requires some investigation. Currently, there are no general criteria to evaluate PDC software tools, nor is it easy to lay down such criteria. In this paper we present a multilevel evaluation methodology for PDC software tools in which tools are evaluated from three di erent perspectives: tool performance level (TPL), application performance level (APL), and application development level (ADL). In TPL the performance of the basic communication primitives provided by the tools (e.g., pointto-point communication and collective communication primitives) is evaluated. The APL evaluates the performance of representative applications developed using di erent tools and the ADL evaluates the tool capability to support and facilitate the development of parallel and distributed applications. The main objective of the research presented in this paper is to provide a means for evaluating, quantifying, and comparing the suitability of PDC software tools in terms of user requirements and to help PDC software tool developers to de ne the requirements of future tools by identifying the de ciencies and bottlenecks in existing systems. We apply our evaluation methodology to four PDC message-passing tools: i.e., p4, PVM, MPI, and NCS. These tools are evaluated over a cluster of workstations interconnected by an ATM network.
منابع مشابه
Software Tool Evaluation Methodology
The recent development of parallel and distributed computing software has introduced a variety of software tools that support several programming paradigms and languages. This variety of tools makes the selection of the best tool to run a given class of applications on a parallel or distributed system a non-trivial task that requires some investigation. We expect tool evaluation to receive more...
متن کاملSoftware Tool Evaluation Methodology 1
The recent development of parallel and distributed computing software has introduced a variety of software tools that support several programming paradigms and languages. This variety of tools makes the selection of the best tool to run a given class of applications on a parallel or distributed system a non-trivial task that requires some investigation. We expect tool evaluation to receive more...
متن کاملBeSpaceD: Towards a Tool Framework and Methodology for the Specification and Verification of Spatial Behavior of Distributed Software Component Systems
ion/invariant generation verification condition generation verification tools, e.g, SMT solvers ... sub-result evaluation parallel execution
متن کاملDistributed Performance Monitoring: Methods, Tools, and Applications
A method for analyzing the functional behavior and the performance of programs in distributed systems is presented. We use hybrid monitoring, a technique which combines advantages of both software monitoring and hardware monitoring. The paper contains a description of a hardware monitor and a software package (ZM4/SIMPLE) which make our concepts available to programmers, assisting them in debug...
متن کاملMethods and Techniques for the Development of Parallel and Distributed Applications
In this PhD thesis we present a methodology for the objective error detection for message passing applications composed by the Ensemble composition architecture. The methodology may be considered as a Parallel and Distributed Software Engineering process. It involves software development management, and links design, implementation and testing in an integrated development process. We propose th...
متن کامل